import java.io.Serializable;
import java.util.HashSet;
import java.util.Observable;

/**
 * Super class de Article et de Ouvrage
 *
 */
public class Document extends Observable implements Serializable {


	/**************************************************************************************************************
	 * Les attributs statics
	 */
	private static final long serialVersionUID = 1L;


	/**************************************************************************************************************
	 * Les attributs 
	 */
	private String _titre;
	private HashSet<MotCle> _lesMotCles;
	private HashSet<Auteur> _lesAuteurs;


	/**************************************************************************************************************
	 * Les méthodes
	 */
	public Document(String t) {
		this.setTitre(t);
		this.setMotCles(new HashSet<MotCle>());	
		this.setAuteurs(new HashSet<Auteur>());		
	}



	/**************************************************************************************************************
	 * SETTERS 
	 */
	public void setTitre(String t){
		_titre = t ;
	}
	
	///////////////////////////////////
	protected void setMotCle(MotCle a){
		 _lesMotCles.add(a);
	}

	///////////////////////////////////
	protected void setMotCles(HashSet<MotCle> MotCles){
		_lesMotCles = MotCles;
	}
	
	protected void setAuteurs(HashSet<Auteur> auteurs) {
		_lesAuteurs = auteurs;
	}


	protected void setAuteur(Auteur auteur) {
		_lesAuteurs.add(auteur);
	}


	/**************************************************************************************************************
	 * Getters
	 */
	public String getTitre(){
		return _titre ;
	}

	///////////////////////////////////
	public HashSet<MotCle> getMotCles(){
		return _lesMotCles;
	}


	///////////////////////////////////
	public HashSet<Auteur> getAuteurs(){
		return _lesAuteurs;
	}

	
		
}